\chapter{Déroulement du stage}\label{ch:planning}

L'ensemble du stage a été réalisé autour des concept de méthode agile, largement utilisée au sein de l'industrie informatique. Les méthodes agiles sont des pratiques pouvant s'appliquer à divers types de projets, mais se limitant plutôt actuellement aux projets de développement en informatique (conception de logiciel). Les méthodes agiles se veulent plus pragmatiques que les méthodes traditionnelles. Elles impliquent au maximum le demandeur (client) et permettent une grande réactivité à ses demandes. Elles visent la satisfaction réelle du besoin du client en priorité aux termes d'un contrat de développement.

 Le client étant ici Alexis Laignel, mon tuteur de stage, la validation des points d'avancement pouvait se faire régulièrement et facilement (une à deux fois par semaine). L'objectif étant de réaliser des prototypes utilisables des trois éditeurs de fichiers de configuration pour obtenir un produit démontrable complet. Les cycles de réalisation de produit étaient d'environ un mois comme on peut le voir sur le diagramme de Gantt \ref{gantt}.

\paragraph{Découverte}
Durant les trois à quatre premières semaines de mon stage, j'ai eu l'occasion de découvrir les outils PRISME, de comprendre l'ensemble des concepts de Business Intelligence et d'appréhender les défis qui m'attendait. Cette période m'a aussi permis de mieux comprendre les technologies web et de mettre à niveau mes compétences de ce point de vue. J'ai donc réalisé une série d'exercice et de test préparatoire à la réalisation du Grabber Editor utilisant Struts 2.0 et surtout l'apprentissage du langage JavaScript.

\paragraph{Grabber Editor}
Ensuite, la réalisation de Grabber Editor m'a imposé une certaine rigueur pour respecter la compatibilité avec le moteur PRISME et les utilitaires adjacents mis en place par l'équipe PRISME. Pas à pas, j'ai pu améliorer mes compétences en HTML (et plus particulièrement HTML5) et JQuery pour réaliser une interface complète et simple d'utilisation.

\paragraph{Loader \& TreeView Model}
Au bout d'un mois sur la réalisation du Grabber, le coeur de l'éditeur étant réalisé, j'ai pu passer à la réalisation des deux éditeurs de fichier suivants. Néanmoins, ceux-ci ayant un moteur commun, j'ai d'abord procédé à la réalisation du moteur, puis au bout de deux semaines, j'ai créé itérativement nos outils de \loaderName pour pouvoir effectuer des tests sur ce moteur. Ceci explique le chevauchement partiel de nos deux réalisations.

\paragraph{Report Editor}
Enfin, à partir de l'expérience acquise grâce à \loaderName, j'ai pu rapidement mettre en place le dernier outil \reportName, qui m'as permit d'appronfondir encore mes connaissances web, en particulier autour des iFrames.

\paragraph{Documentation}
L'ensemble des prototypes étant réalisés, j'ai pu réalisé la documentation demandée qui se compose d'un manuel utilisateur et d'un manuel développeur (permettant à l'équipe de retracer mon travail et de retrouver les diverses informations utiles à la reprise de mon code). Durant cette période, j'ai également corriger des bugs et refactoriser certains pans de mon application tout en commentant celle-ci.